package com.aistar.service.redis_collect_liked;

import com.aistar.pojo.TravCollect;
import org.springframework.stereotype.Repository;

/**
 * @author shkstart
 * @date 2019/10/16 - 2:13
 */

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;

    @Repository
    public interface LikedCollectService{

        /**
         * 保存点赞记录
         * @param userLike
         * @return
         */
       public int save(TravCollect userLike);

        /**
         * 批量保存或修改
         * @param list
         */
       public int saveAll(List<TravCollect> list);


        /**
         * 根据被点赞人的id查询点赞列表（即查询都谁给这个人点赞过）
         * @param likedUserId 被点赞人的id
         * @param pageable
         * @return
         */
        public Page<TravCollect> getLikedListByLikedUserId(String likedUserId, Pageable pageable);

        /**
         * 根据点赞人的id查询点赞列表（即查询这个人都给谁点赞过）
         * @param likedPostId
         * @param pageable
         * @return
         */
       public Page<TravCollect> getLikedListByLikedPostId(String likedPostId, Pageable pageable);

        /**
         * 通过被点赞人和点赞人id查询是否存在点赞记录
         * @param likedUserId
         * @param likedPostId
         * @return
         */
       public TravCollect getByLikedUserIdAndLikedPostId(String likedUserId, String likedPostId);

        /**
         * 将Redis里的点赞数据存入数据库中
         */
       public void transLikedFromRedis2DB();

        /**
         * 将Redis中的点赞数量数据存入数据库
         */
//       public void transLikedCountFromRedis2DB();
}
